#ifndef __SUBSYSTEM_RAKE_BLOCK_BEHAVIOR_BASE_H__
#define __SUBSYSTEM_RAKE_BLOCK_BEHAVIOR_BASE_H__

#include "Subsystems/BlockBehaviors/SubsystemBlockBehavior.hpp"
#include "GameRandom.hpp"

namespace PocketSurvival
{
    class BlocksManager;
    class SubsystemTerrain;

    // 耙子，松土行为
    class SubsystemRakeBlockBehavior : public SubsystemBlockBehavior
    {
    public:
        SubsystemTerrain *m_terrain;
    public:
        SubsystemRakeBlockBehavior();
        virtual bool onUse(const Ray3 &ray, ComponentMiner *componentMiner) override;
        virtual void load(const nlohmann::json &json) override;
        virtual const std::string& getName() const override;
    };
}

#endif
